package com.vviton.zyhj.admin.service;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Service;

import com.vviton.zyhj.common.utils.ResultJson;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.ParamDdcx;
import com.vviton.zyhj.common.view.ParamDdfh;
import com.vviton.zyhj.common.view.ViewDdcx;
import com.vviton.zyhj.common.view.ViewDhwlxx;
import com.vviton.zyhj.common.view.ViewWlgzxx;
import com.wdcloud.framework.core.log.annotation.MonitorLog;
import com.wdcloud.framework.core.log.entity.MonitorLogInfo;

/**
 * ClassName: ZyddglService <br/>
 * Function: 自营订单管理Service. <br/>
 * Date: 2016年11月15日 上午11:52:26 <br/>
 *
 * @author Dengshiyu
 * @version 1.0
 * @since JDK 1.7
 */
@Service
public interface ZyddglService {

    /**
     * getDdcxPagination,根据各种条件查询订单. <br/>
     * Author: Dengshiyu <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: Dengshiyu <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param paramDdcx 订单查询参数
     * @param zh 帐号
     * @return Page
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据各种条件查询订单Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    Page getDdcxPagination(ParamDdcx paramDdcx, String zh);

    /**
     * ddfh,订单发货. <br/>
     * Author: Dengshiyu <br/>
     * Create Date: 2016年11月18日 <br/>
     * ===============================================================<br/>
     * Modifier: Dengshiyu <br/>
     * Modify Date: 2016年11月18日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param paramDdfh 订单发货参数
     * @param zh 帐号
     * @return 操作结果
     * @since JDK 1.7
     */
    @MonitorLog(text = "订单发货Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson ddfh(ParamDdfh paramDdfh, String zh);

    /**
     * getDdxxById,根据Id获取订单信息. <br/>
     * Author: Dengshiyu <br/>
     * Create Date: 2016年11月21日 <br/>
     * ===============================================================<br/>
     * Modifier: Dengshiyu <br/>
     * Modify Date: 2016年11月21日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param id 订单id
     * @param ywy 业务域
     * @return 订单查询结果
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据Id获取订单信息Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ViewDdcx getDdxxById(String id, String ywy);

    /**
     * pldcDdxx,批量导出订单信息. <br/>
     * Author: Dengshiyu <br/>
     * Create Date: 2016年11月24日 <br/>
     * ===============================================================<br/>
     * Modifier: Dengshiyu <br/>
     * Modify Date: 2016年11月24日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param ddids 订单id
     * @param ywy 业务域
     * @param res HttpServletResponse
     * @return 操作结果
     * @since JDK 1.7
     */
    @MonitorLog(text = "批量导出订单信息Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson pldcDdxx(String ddids, String ywy, HttpServletResponse res);

    /**
     * getDhwlxx,根据订单Id获取订单物流信息. <br/>
     * Author: Dengshiyu <br/>
     * Create Date: 2016年12月23日 <br/>
     * ===============================================================<br/>
     * Modifier: Dengshiyu <br/>
     * Modify Date: 2016年12月23日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param ddid 订单id
     * @return 订单物流信息
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据订单Id获取订单物流信息Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ViewDhwlxx getDdwlxx(String ddid);
    
    /**
     * getWlgzxx,根据订单Id查询物流跟踪信息. <br/>
     * Author: Dengshiyu <br/>
     * Create Date: 2016年12月23日 <br/>
     * ===============================================================<br/>
     * Modifier: Dengshiyu <br/>
     * Modify Date: 2016年12月23日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param ddid 订单编号
     * @return 物流跟踪信息
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据订单Id查询物流跟踪信息Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ViewWlgzxx getWlgzxx(String ddid);

}
